1. Background and Relevant Art
Computer systems and related technology affect many aspects of society. Indeed, the computer system's ability to process information has transformed the way we live and work. Computer systems now commonly perform a host of tasks (e.g., word processing, scheduling, and database management) that prior to the advent of the computer system were performed manually. More recently, computer systems have been coupled to one another and to other electronic devices to form both wired and wireless computer networks over which the computer systems and other electronic devices can transfer electronic data. As a result, the performance of many computing tasks are distributed across a number of different computer systems and/or a number of different computing components.
In many network based applications, data access, data manipulation, and data presentation are facilitated through a user-interface to underlying data, such as, for example, to database tables. To standardize functionality, user-interfaces can be presented in a Web based format such that any user with access to a Web browser can interact with the underlying data. For example, data can be presented through one or more Web based forms that allow a user to access and manipulate the data.
To create a Web based form, a form designer typically manually designs a data layer and a presentation layer. The data layer interacts with the underlying data in response to commands from the presentation layer (e.g., to issue queries to a database) and provides data to the presentation layer (e.g., the results of database queries). A form designer can also manually build other functionality, such as, for example, filtering, master-details, server-based pagination, and edit, deletion, and insertion commands, into a data layer. For example, a data layer can filter query results in accordance with other criteria to return an appropriate set of data to the presentation layer.
A presentation layer provides a user-interface between a user and a data layer. The presentation layer accepts user commands and forwards user commands (in an appropriate format) to the data layer. The presentation layer also accepts data from the data layer and presents data (in an appropriate format) to the user. Thus, to access and manipulate data in a database, a user can direct a Web browser to the appropriate Web based form.
Some Web form development platforms utilized partially automated techniques for generating Web based forms. For example, at least one platform supports automatic displaying, editing, updating, and deleting functionality. However, these platforms still require manual activities to obtain other functionality. For example, filtering, pagination, and sorting typically require manual intervention even using these development platforms. Thus, even when using partially automated techniques, considerable resources can still be consumed to manually add additional functionality.